package com.sia.springcloud.service;

import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @Author: Sirius
 * @Date: 2022/1/10 13:53
 * @Description: 数采接口
 **/
public interface ICollectService {
    /**
     * 开启指定设备的数采
     *
     * @param deviceId
     * @return
     */
    String startCollect(Integer deviceId);

    /**
     * 关闭指定设备的数采
     *
     * @param deviceId
     * @return
     */
    String stopCollect(Integer deviceId);

    /**
     * 接收协议微服务发送的心跳信息
     *
     * @param heartbeatId
     * @param instanceId
     * @param protocolName
     * @param deviceNum
     * @param time
     * @return
     */
    void heartbeat(String heartbeatId, String instanceId, String protocolName, String deviceNum, String time);

    /**
     * 开启或关闭心跳保护
     *
     * @return
     */
    String heartbeatProtect(boolean protect);

    /**
     * 获取心跳保护状态
     *
     * @return
     */
    String heartbeatProtectStatus();

    /**
     *
     * 获取正在运行的协议微服务的种类
     *
     * @return
     */
     String protocolList();

    /**
     * 获取设备数采状态
     *
     * @param deviceId
     * @return
     */
    String deviceStatus(String deviceId);

    /**
     * 写变量方法
     *
     * @param deviceId
     * @param value
     * @return
     */
    String writeVariable(String deviceId, String value);


}
